package com.tiancheng.trade.settlement.service.settlement;

import com.tiancheng.trade.commom.core.data.PageInfo;
import com.tiancheng.trade.settlement.exception.BusinessException;
import com.tiancheng.trade.settlement.vo.settlement.admin.PaymentBillDetailQuery;
import com.tiancheng.trade.settlement.vo.settlement.admin.PaymentBillQueryVO;
import com.tiancheng.trade.settlement.vo.settlement.admin.res.PaymentBillDetailResVO;
import com.tiancheng.trade.settlement.vo.settlement.admin.res.PaymentBillListResVO;
import com.tiancheng.trade.settlement.vo.settlement.admin.res.PaymentBillSummaryResVO;

import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;

public interface IPaymentBillQueryService {


    PageInfo<PaymentBillSummaryResVO> querySummaryView(PaymentBillQueryVO paymentBillQueryVO) throws BusinessException;

    PageInfo<PaymentBillListResVO> queryItemList(PaymentBillDetailQuery paymentBillDetailQuery) throws BusinessException;

    PaymentBillDetailResVO queryItemDetail(Long id) throws BusinessException;

    /**
     * 流水明细对账导出
     *
     * @param paymentBillQueryVO
     * @param request
     * @param response
     * @throws IOException
     */
    void export(PaymentBillDetailQuery paymentBillQueryVO, HttpServletRequest request, HttpServletResponse response) throws IOException;

}
